|
![](/i/fill.gif) |
> If the problem is just that numeric errors cause the
points to be
> non-coplanar, it would probably be best to just project
them to the
> right plane in POV. If a non-planar polygon is desired,
the polygon
> object is just the wrong primitive.
> If you know your polygons aren't quite flat can't you just
draw them as several
> triangles?
I can get around this problem either by a) converting to
triangles or b) changing the tolerance in POV-Ray. So far, I
have not had any problem with either method.
Nevertheless, it is annoying to have to change methods and
write a new polygon-triangle conversion function, when this
appears to be unnecessary. Again, I urge POV-Ray designers
to consider an optional variable tolerance, for the
following reasons.
There is no question that the currect tolerance is
unrealistically strict from a mathematical point of view,
when using 8-byte floating-point numbers. Even if one
starts out with objects that are absolutely planar
(tolerance zero), one or two manipulations (rotation,
intersections, etc.) before input into POV-Ray can result in
violation of the planarity test. At the least this
tolerance should be increased by a factor of 10.
"non-planar" and "polygons aren't quite flat" are dependent
on the tolerance. I know that my polygons are planar within
tolerance about 1.0e-04 (my internal tolerance). Tolerance
of 1.0e-10 is also excessive with respect to resolution of
current raster devices and the human eye. Should the
tolerance be based on arbitrary machine precision, or
real-world factors? Other 3D packages such as OpenGL and
QuickDraw3D are able to draw polygons without requiring
planarity within e-10.
Eric Dowty
dow### [at] shapesoftware com
Post a reply to this message
|
![](/i/fill.gif) |